<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>CSS Content Module Level 3: Valid parsing</title>
<link rel="author" title="Tim Nguyen" href="https://github.com/nt1m">
<link rel="help" href="https://drafts.csswg.org/css-content-3/#content-property">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="/css/support/parsing-testcommon.js"></script>
</head>
<body>
<div id="target"></div>
<script>
function test_valid_value_combinations(property, value, serialized) {
    if (arguments.length < 3)
        serialized = value;
    test_valid_value(property, value, serialized);
    test_valid_value(property, `${value} / "alt text"`, `${serialized} / "alt text"`);
    test_valid_value(property, `${value} / "alt text" attr(foo) "bar"`, `${serialized} / "alt text" attr(foo) "bar"`);
    test_valid_value(property, `${value} / attr(foo)`, `${serialized} / attr(foo)`);
}

test_valid_value("content", "none");
test_valid_value("content", "normal");

test_valid_value_combinations("content", "open-quote");
test_valid_value_combinations("content", "close-quote");
test_valid_value_combinations("content", "no-open-quote");
test_valid_value_combinations("content", "no-close-quote");

test_valid_value_combinations("content", "attr(alt)");
test_valid_value_combinations("content", "attr(data-foo)");

test_valid_value_combinations("content", "counter(counter-name)");
test_valid_value_combinations("content", "counter(counter-name, counter-style)");
test_valid_value_combinations("content", "counter(counter-name, dECiMaL)", "counter(counter-name)");
test_valid_value_combinations("content", "counter(counter-name, DECIMAL)", "counter(counter-name)");

test_valid_value_combinations("content", `counters(counter-name, ".")`);
test_valid_value_combinations("content", `counters(counter-name, ".", counter-style)`);
test_valid_value_combinations("content", `counters(counter-name, ".", dECiMaL)`, `counters(counter-name, ".")`);
test_valid_value_combinations("content", `counters(counter-name, ".", DECIMAL)`, `counters(counter-name, ".")`);

test_valid_value_combinations("content", `url("picture.svg")`);

test_valid_value_combinations("content", `"hello"`);

test_valid_value_combinations("content", `"hello" "world"`);
test_valid_value_combinations("content", `"hello" attr(alt) "world"`);
test_valid_value_combinations("content", `counter(counter-name) "potato"`);
test_valid_value_combinations("content", `counters(counter-name, ".") "potato"`);
test_valid_value_combinations("content", `"(" counters(counter-name, ".", counter-style) ")"`);
test_valid_value_combinations("content", `open-quote "hello" "world" close-quote`);
test_valid_value_combinations("content", `url("picture.svg") "hello"`);
</script>
</body>
</html>
